perm filename CYCDRA.LAP[DEN,LMM] blob sn#034867 filedate 1973-04-13 generic text, type T, neo UTF8
(SETQ PATS (QUOTE ((TRAP ((1. 4. 3. 2.) (2. 4. 3. 1.) (3. 4. 2. 1.) (4. 3. 2. 1.)) (5. (4. 3. 3. 3. 3.) ((1. 4. →
(1. 2. 3. 4.)) (2. 3. (1. 3. 4.)) (3. 3. (1. 2. 4.)) (4. 3. (1. 2. 3.)) (5. 3. (2. 3. 4.)))) ((4. 5. 3. 2. 1.) (→
3. 5. 4. 2. 1.) (2. 5. 4. 3. 1.) (1. 4. 3. 2. 1.)) (((3. . 4.) 1.) ((2. . 4.) 1.) ((2. . 3.) 1.) ((1. . 4.) 1.) →
((1. . 3.) 1.) ((1. . 2.) 1.)) ((1. 0. 0.) (2. 1. 2.) (3. 2. 0.) (4. 1. 1.))) (HEX ((1. 2. 6.) (2. 3. 1.) (3. 4.→
 2.) (4. 5. 3.) (5. 6. 4.) (6. 5. 1.)) (1. (6.) ((1. 6. (1. 6. 5. 4. 3. 2.)))) ((6. 1.) (5. 1.) (4. 1.) (3. 1.) →
(2. 1.) (1. 1.)) (((5. . 6.) 1.) ((4. . 5.) 1.) ((3. . 4.) 1.) ((2. . 3.) 1.) ((1. . 2.) 1.) ((1. . 6.) 1.)) ((1→
. 1. 3.) (2. 2. 2.) (3. 2. 1.) (4. 1. 0.) (5. 0. 1.) (6. 0. 2.))) (PENT ((1. 5. 2.) (2. 3. 1.) (3. 4. 2.) (4. 5.→
 3.) (5. 1. 4.)) (1. (5.) ((1. 5. (1. 2. 3. 4. 5.)))) ((5. 1.) (4. 1.) (3. 1.) (2. 1.) (1. 1.)) (((4. . 5.) 1.) →
((3. . 4.) 1.) ((2. . 3.) 1.) ((1. . 5.) 1.) ((1. . 2.) 1.)) ((1. 0. 1.) (2. 1. 2.) (3. 2. 1.) (4. 2. 0.) (5. 0.→
 0.))) (OCT ((1. 2. 8.) (2. 3. 1.) (3. 4. 2.) (4. 5. 3.) (5. 6. 4.) (6. 7. 5.) (7. 8. 6.) (8. 1. 7.)) (1. (8.) (→
(1. 8. (1. 8. 7. 6. 5. 4. 3. 2.)))) ((8. 1.) (7. 1.) (6. 1.) (5. 1.) (4. 1.) (3. 1.) (2. 1.) (1. 1.)) (((7. . 8.→
) 1.) ((6. . 7.) 1.) ((5. . 6.) 1.) ((4. . 5.) 1.) ((3. . 4.) 1.) ((2. . 3.) 1.) ((1. . 2.) 1.) ((1. . 8.) 1.)) →
((1. 0. 2.) (2. 1. 3.) (3. 2. 3.) (4. 3. 2.) (5. 3. 1.) (6. 2. 0.) (7. 1. 0.) (8. 0. 1.)))))) 

(SETQ PATSELECT (QUOTE ((4. 15. 15.) (3. 16. 17.) (1. 17. 15.) (2. 16. 16.)))) 

(ARRAY TMP T 20.) 

(ARRAY CONN T 20.) 

(ARRAY NODE T 41.) 

(LAP DRAWS SUBR) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL CTAB) S) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (MOVEM 1. (SPECIAL CTAB) S) 
       (JUMPE 2. TAG13) 
       (MOVE 1. 2.) 
       (JRST 0. TAG12) 
 TAG13 (HRRZ@ 1. -1. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
 TAG12 (PUSH P 1.) 
       (PUSH P (SPECIAL CTAB) S) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -2. P) 
       (JUMPN 1. TAG20) 
       (JRST 0. TAG8) 
 TAG20 (HLRZ@ 1. -2. P) 
       (MOVEM 1. -1. P) 
       (PUSH P (C 0. 0. TAG22 0.)) 
       (PUSH P -1. P) 
       (HRRZ@ 1. 1.) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HRRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HRRZ@ 1. -5. P) 
       (HRRZ@ 1. 1.) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -2. P) 
       (JUMPN 1. TAG27) 
       (JRST 0. TAG5) 
 TAG27 (HLRZ@ 1. -2. P) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPN 1. TAG30) 
       (JRST 0. TAG4) 
 TAG30 (PUSH P (C 0. 0. TAG32 0.)) 
       (PUSH P -1. P) 
       (MOVE 1. -3. P) 
       (CALL 1. (E NCONS) S) 
       (PUSH P 1.) 
       (MOVNI 6. 2.) 
       (JCALL 14. (E NCONC) S) 
 TAG32 (MOVEM 1. 0. P) 
 TAG3 
 TAG4  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 2. 0. P) 
       (MOVE 1. -4. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. -3. P) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E NCONS) S) 
       (SUB P (C 5. 0. 5. 0.)) 
       (PUSH P 1.) 
       (MOVNI 6. 2.) 
       (JCALL 14. (E NCONC) S) 
 TAG22 (MOVEM 1. 0. P) 
 TAG6 
 TAG7  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG1) 
 TAG8  (MOVE 2. 0. P) 
       (MOVE 1. -3. P) 
       (CALL 2. (E CONS) S) 
       (CALL 1. (E LAYOUT) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 6. 0. 6. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP PRINRAD SUBR) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL CTAB) S) 
       (PUSH P 1.) 
       (CALL 1. (E NUMNODES) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *LESS) S) 
       (JUMPN 1. TAG4) 
       (MOVE 2. 0. P) 
       (MOVE 1. -1. P) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. 0. P) 
 TAG2 
 TAG3  (MOVEI 2. (QUOTE -1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG4  (MOVE 2. 0. P) 
       (MOVE 3. -2. P) 
       (MOVEI 1. (QUOTE NIL)) 
       (CALL 3. (E PRINRAD1) S) 
       (SUB P (C 2. 0. 2. 0.)) 
       (MOVE 2. (SPECIAL CTAB) S) 
       (MOVE 1. (SPECIAL TITLE) S) 
       (CALL 2. (E CONS) S) 
       (CALL 1. (E LAYOUT) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP PRINENTRY SUBR) 
       (PUSH P 2.) 
       (MOVE 2. 3.) 
       (EXCH 1. 0. P) 
       (CALL 2. (E CONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. (SPECIAL CTAB) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL CTAB) S) 
       (POPJ P) 
       NIL 

(LAP NUMNODES SUBR) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (HLRZ@ 1. 1.) 
       (JUMPN 1. TAG9) 
       (MOVEI 1. (QUOTE 0.)) 
       (JRST 0. TAG8) 
 TAG9  (HLRZ@ 1. -3. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG11) 
       (MOVEI 1. (QUOTE 1.)) 
       (JRST 0. TAG8) 
 TAG11 (HLRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (CAIN 1. (QUOTE STRUC) S) 
       (JRST 0. TAG12) 
       (MOVEI 1. (QUOTE 1.)) 
       (JRST 0. TAG8) 
 TAG12 (HLRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (CALL 1. (E NODES) S) 
       (CALL 1. (E LENGTH) S) 
 TAG8  (HRRZ@ 2. -3. P) 
       (MOVEM 2. -1. P) 
       (MOVEM 1. 0. P) 
 TAG1  (MOVE 1. -1. P) 
       (JUMPE 1. TAG4) 
       (HLRZ@ 1. -1. P) 
       (MOVEM 1. -2. P) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HLRZ@ 1. -3. P) 
       (CALL 1. (E NUMNODES) S) 
       (POP P 2.) 
       (CALL 2. (E *TIMES) S) 
       (MOVE 2. 0. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. 0. P) 
 TAG2 
 TAG3  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG4  (MOVE 1. 0. P) 
       (SUB P (C 4. 0. 4. 0.)) 
       (POPJ P) 
       NIL 

(LAP LAYOUT SUBR) 
       (PUSH P 1.) 
       (CALL 1. (E ANALIN) S) 
       (CALL 0. (E PATMATCH) S) 
       (CALL 0. (E SORTLN) S) 
       (MOVEI 2. (QUOTE NIL)) 
       (MOVEI 1. (QUOTE 1.)) 
       (CALL 2. (E FINDNDS) S) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JCALL 0. (E OUTNDS) S) 
       NIL 

(LAP ANALIN SUBR) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE 1.) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVEI 2. (QUOTE 19.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG4) 
       (MOVE 1. -1. P) 
       (CALL 1. (E CONN) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (PUSHJ P NSTR) 
 TAG2 
 TAG3  (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG4  (SUB P (C 2. 0. 2. 0.)) 
       (HLRZ@ 1. -4. P) 
       (MOVEM 1. (SPECIAL TITLE) S) 
       (CLEARM 0. (SPECIAL LINE) S) 
       (CLEARM 0. (SPECIAL LABELL) S) 
       (HRRZ@ 1. -4. P) 
       (CALL 1. (E LENGTH) S) 
       (MOVEM 1. (SPECIAL NLN) S) 
       (MOVEI 1. (QUOTE 0.)) 
       (MOVEM 1. (SPECIAL NMX) S) 
       (HRRZ@ 1. -4. P) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG5  (MOVE 1. -2. P) 
       (JUMPE 1. TAG14) 
       (HLRZ@ 1. -2. P) 
       (MOVE 2. (SPECIAL NMX) S) 
       (MOVEM 1. -3. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E MAX) S) 
       (MOVEM 1. (SPECIAL NMX) S) 
       (HLRZ@ 1. -3. P) 
       (HRRZ@ 2. -3. P) 
       (HLRZ@ 2. 2.) 
       (MOVEM 1. -4. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. (SPECIAL LABELL) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL LABELL) S) 
       (HRRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (MOVEM 1. -1. P) 
 TAG6  (MOVE 1. -1. P) 
       (JUMPE 1. TAG9) 
       (HLRZ@ 1. -1. P) 
       (MOVE 2. -4. P) 
       (MOVEM 1. -5. P) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. (SPECIAL LINE) S) 
       (CALL 2. (E ASSOC2) S) 
       (MOVEM 1. -6. P) 
       (JUMPN 1. TAG30) 
       (MOVE 2. -4. P) 
       (MOVE 1. -5. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. (SPECIAL LINE) S) 
       (CALL 2. (E ASSOC2) S) 
       (JUMPE 1. TAG33) 
       (JRST 0. TAG32) 
 TAG33 (MOVE 2. -5. P) 
       (MOVE 1. -4. P) 
       (CALL 2. (E CONS) S) 
       (PUSH P 1.) 
       (MOVEI 1. (QUOTE 1.)) 
       (CALL 1. (E NCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. (SPECIAL LINE) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL LINE) S) 
 TAG32 (JRST 0. TAG29) 
 TAG30 (HRRZ@ 1. -6. P) 
       (PUSH P 1.) 
       (HLRZ@ 1. 1.) 
       (CALL 1. (E ADD1) S) 
       (HRLM@ 1. 0. P) 
       (SUB P (C 1. 0. 1. 0.)) 
 TAG29 (MOVE 1. -4. P) 
       (CALL 1. (E CONN) S) 
       (MOVE 2. 1.) 
       (MOVE 1. -5. P) 
       (CALL 2. (E MEMBER) S) 
       (JUMPE 1. TAG39) 
       (JRST 0. TAG38) 
 TAG39 (MOVE 1. -4. P) 
       (CALL 1. (E CONN) S) 
       (MOVE 2. -5. P) 
       (CALL 2. (E XCONS) S) 
       (PUSH P 1.) 
       (MOVE 1. -5. P) 
       (CALL 1. (E CONN) S) 
       (POP P 1.) 
       (PUSHJ P NSTR) 
 TAG38 
 TAG7 
 TAG8  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG6) 
 TAG9 
 TAG10 
 TAG11 
 TAG12 
 TAG13 (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG5) 
 TAG14 (SUB P (C 3. 0. 3. 0.)) 
       (MOVE 1. (SPECIAL LINE) S) 
       (CALL 1. (E LENGTH) S) 
       (MOVEM 1. (SPECIAL LLN) S) 
       (MOVE 1. (SPECIAL LINE) S) 
       (SUB P (C 5. 0. 5. 0.)) 
       (POPJ P) 
       NIL